package com.qububu.common.user.service.impl;

import javax.annotation.Resource;

import org.springframework.stereotype.Service;

import com.qububu.common.user.dto.UserInfoDto;
import com.qububu.common.user.dto.UserLoginInfoDto;
import com.qububu.common.user.service.UserService;
import com.qububu.db.dao.UserInfoDao;

@Service
public class UserServiceImpl implements UserService {

	@Resource
	private UserInfoDao userInfoDao; 
	/*注意, userInfoDao这个名字和配置文件中的
	 * <bean id="userInfoDao" class="com.qububu.db.dao.impl.UserInfoDaoImpl">
	 *  <property name="dataSource" ref="dataSource"></property>
	 * </bean>
	 * id名必须一致
	 * */
	
	public UserInfoDto doCheckUserIsLegal(UserLoginInfoDto loginInfo) {
		
		return userInfoDao.getUserByIdAndPwd(loginInfo);
	}

	public boolean doCheckEmailAlreadyExist(String email) {
		return userInfoDao.doCheckUserIdAlreadyExist(email);
	}

	/**
	 * @功能 添加用户
	 */
	public UserInfoDto doAddUser(UserInfoDto userInfoDto, UserLoginInfoDto userLoginInfoDto) {
		
		// 添加到数据库并返回对应id
		long userId = userInfoDao.doAddUser(userLoginInfoDto, userInfoDto);
		
		UserInfoDto infoDto = new UserInfoDto(userId, userInfoDto.getPositionId());
		
		infoDto.setNickName(userInfoDto.getNickName() );
		infoDto.setUserBirthday(userInfoDto.getUserBirthday() );
		infoDto.setUserEamil(userInfoDto.getUserEamil() );
		infoDto.setUserLogoUrl(userInfoDto.getUserLogoUrl() );
		infoDto.setUserRegistDttm(userInfoDto.getUserRegistDttm() );
		infoDto.setUserRegistIp(userInfoDto.getUserRegistIp() );
		infoDto.setUserSex(userInfoDto.getUserSex() );
		
		return infoDto;
	}

	/**
	 * @功能 更改用户资料
	 */
	public UserInfoDto doModifyUser(UserInfoDto userInfoDto) {
		
		userInfoDao.doModifyUser(userInfoDto);
				
		return userInfoDto;
	}

}
